home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Topik / Topik - Disk 24 - Productivity (19xx)(Topik Public Domain)(PD)[WB].zip / Topik - Disk 24 - Productivity (19xx)(Topik Public Domain)(PD)[WB].adf / SpreadSheet / sc.h < prev    next >
C/C++ Source or Header  |  1990-01-31  |  1KB  |  79 lines

  1. /*    VC    A Table Calculator
  2.  *        Common definitions
  3.  *
  4.  *        original by James Gosling, September 1982
  5.  *        modified by Mark Weiser and Bruce Israel,
  6.  *            University of Maryland
  7.  *
  8.  */
  9.  
  10. #include<stdio.h>
  11.  
  12. #ifdef MCH_AMIGA
  13. #define ROWS    23
  14. #define COLS    79
  15. #else
  16. #define ROWS    24
  17. #define COLS    80
  18. #endif
  19.  
  20. #define MAXROWS 200
  21. #define MAXCOLS 40
  22.  
  23. struct ent {
  24.     double v;
  25.     char *label;
  26.     struct enode *expr;
  27.     short flags;
  28.     short row, col;
  29.     struct ent *next;
  30. };
  31.  
  32.  
  33. struct enode {
  34.     int op;
  35.     union {
  36.     double k;
  37.     struct ent *v;
  38.     struct {
  39.         struct enode *left, *right;
  40.     } o;
  41.     } e;
  42. };
  43.  
  44. /* op values */
  45. #define O_VAR 'v'
  46. #define O_CONST 'k'
  47. #define O_REDUCE(c) (c+0200)
  48.  
  49. /* flag values */
  50. #define is_valid     0001
  51. #define is_changed   0002
  52. #define is_lchanged  0004
  53. #define is_leftflush 0010
  54. #define is_deleted   0020
  55.  
  56. #define ctl(c) ('c'&037)
  57.  
  58. struct ent *tbl[MAXROWS][MAXCOLS];
  59.  
  60. int strow, stcol;
  61. int currow, curcol;
  62. int savedrow, savedcol;
  63. int FullUpdate;
  64. int maxrow, maxcol;
  65. int fwidth[MAXCOLS];
  66. int precision[MAXCOLS];
  67. char hidden_col[MAXCOLS];
  68. char hidden_row[MAXROWS];
  69. char line[1000];
  70. int linelim;
  71. int changed;
  72. struct ent *to_fix;
  73. struct enode *new();
  74. struct ent *lookat();
  75. struct enode *copye();
  76. char *coltoa();
  77.  
  78. int modflg;
  79.